<template>
  <div>
    <!--通过state获取共享数据sum-->
    <h1>当前求和为：{{$store.state.sum}}</h1>
    <select v-model.number="n"> <!--.number表示将输入转为数字类型接收-->
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
    </select>
    <button @click="increment">+</button>
    <button @click="decrement">-</button>
    <button @click="incrementOdd">当前求和为奇数再加</button>
    <button @click="incrementWait">等一等再加</button>
  </div>
</template>

<script>
export default {
    name: 'Count',
    data() {
        return {
            //sum: 0, //当前和，已交给vuex管理
            n: 1, //用户选的数字
        }
    },
    methods: {
        increment() {
            //调用dispatch通知actions执行'jia'，传递的数据为n
            this.$store.dispatch('jia', this.n)
        },
        decrement() {
            // this.$store.dispatch('jian', this.n)
            //如果actions中没有实际业务逻辑单纯转发，可以直接调用commit通知mutations操作
            this.$store.commit('JIAN', this.n)
        },
        incrementOdd() {
            this.$store.dispatch('jiaOdd', this.n)
        },
        incrementWait() {
            this.$store.dispatch('jiaWait', this.n)
        },
    }
}
</script>

<style scoped>
    button {
        margin-left: 5px;
        margin-right: 5px;
    }
</style>